package com.example.homework.string.homework01;

public class Test {
    public static void main(String[] args) {
        /*
        需求：
        请定义一个方法用于判断一个字符串是否是对称的字符串,并在主方法中测试方法
        例如："ab c ba","上海自来水来自海上"均为对称字符串
         */
        String str = "上海自来水来自海上";
        System.out.println(isSymmetry(str));
    }

    /**
     * 判断字符串是否是对称的字符串
     *
     * @param str 待判断的字符串
     * @return true:是对称字符串,false:不是对称字符串
     */
    public static boolean isSymmetry(String str) {
        // 1.判断字符串是否为空
        if (str == null) {
            return false;
        }

        // 2.定义两个指针,分别指向字符串的开始和结束位置
        int left = 0;
        int right = str.length() - 1;

        // 3.如果左边和右边的字符不相等,则返回false
        while (left < right) {
            if (str.charAt(left) != str.charAt(right)) {
                // 只要有一个字符不相等,则返回false
                return false;
            }
            // 移动指针
            left++;
            right--;
        }

        // 4.循环结束后,说明是对称字符串,返回true
        return true;
    }
}
